package ebj.common.reflection;

import java.lang.reflect.Field;

import ebj.common.utils.Utils;

/**
 * 反射实例8：获得其他类中的全部属性，及其访问修饰符
 * @author zhouxiangyong
 * @version $Id$
 */
public class ReflectClient8 {
	public static void main(String[] args) {
		String clazzName = Utils.getProperty("ChinesePerson");
		Class<?> clazz = null;
		try {
			clazz = Class.forName(clazzName);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		System.out.println("**************所有用户自声明的属性(包含私有的、受保护的 以及 友好的)**************");
		Field[] declaredFields = clazz.getDeclaredFields();
		for (Field field : declaredFields) {
			System.out.println(field);
		}
		System.out.println();
		System.out.println("**************所有公共的属性(只包含从 其父类 或者 其实现的借口中继承而来的 那些公共属性)**************");
		Field[] fields = clazz.getFields();
		for (Field field : fields) {
			System.out.println(field);
		}
	}
}
